Dockerfile 예시 node, nginx
### deps
# 설치 환경
FROM node:16.14.0-alpine as deps
# 사용 경로
WORKDIR /app
# 의존성 설정 복사
COPY package*.json ./
# 의존성 설치
RUN npm install
### builder
# 빌드 단계
FROM node:16.14.0-alpine as builder
ARG PHASE
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# 빌드
RUN PHASE=${PHASE} npm run build
### runner
# nginx 가져오기
FROM nginx:1.20.1-alpine as runner
ARG PHASE
# nginx 설정 파일 가져오기
COPY nginx.${PHASE}.conf /etc/nginx/conf.d/default.conf
# 빌드 결과물 복사
COPY --from=builder /app/build ./build
#'웹 서버 설정 디렉터리 및 파일'의 타 사용자 접근권한 제거
RUN chmod 700 /etc/nginx/conf.d
RUN chmod 600 /etc/nginx/nginx.conf
RUN chmod 600 /etc/nginx/conf.d/default.conf